The services on today's Internet are designed with PCs and fixed access in mind. Therefore, they might not work well with wireless access and devices. For example, many web pages contain many graphical objects that significantly increase the size of the downloaded data. This in turn requires a certain data rate in the access network in order for the download time not to be too large. In order to alleviate the problem it is common to place a proxy in-between the terminal device and the content. The proxy can for example cache information locally or transcode images to a smaller data size in order to decrease the download time.
In terms of web enhancing proxies it is very common to use local caching proxies such as squid [http://www.squid-cache.org] within the network to decrease network load and download times since pre-cached web pages only have to be downloaded from the cache and not from the content server. There are other web enhancing proxies such as WebOnAir [http://eed.ericsson.se]. This proxy is used to compress data and distil images to shorten the download time over slow access links. Still other proxies are used to enhance the performance of networked applications over specific link types (IETF PEP-pile WG] Others change content to fit terminal equipment characteristics. An example of this is the WAP gateway that transforms HTML (Hypertext mark-up Language) documents to WML (Wireless Mark-up Language).
There are further many specialized proxies used for single web sites such as bank web sites. These proxies are located at the client side and provide end-to-end security.
Conventionally, proxies are manually configured and statically placed. There are a number of problems with this approach. The manual configuration is inflexible in that it limits the granularity of the services offered. It is difficult to define in advance a large number of discrete service levels that take into account the diversity of the operational environment. Moreover, this coarse grain service provision can result in degraded performance. For example, transcoding of some images may result in larger image files.
Traditionally, proxies are designed to provide a single service for a large number of users and are not designed to provide multi-functional services such as a combination of compression and encryption. Because of this monofunctional design paradigm, the present invention recognizes that no standard mechanisms exist for permitting proxies to interoperate. Therefore it is not possible to use multiple proxy services developed by different vendors.
Furthermore, the user must have some knowledge of how to set up the proxy parameters. As the user must make a decision upon the service level parameters, he/she needs to have specific knowledge of the semantics of these parameters.
Also the user must reconfigure networked applications whenever changing the access network. Most proxy systems require the user to enter the proxy parameters into each networked application. When changing the point of attachment, the applications have to be reconfigured to reflect the location of local proxy services. In addition, the user needs to have knowledge of the proxy location information such as IP address and port number. Since proxies are statically placed and manually configured, the service depends on the access to the proxies. When a host on which a proxy runs breaks down, or when a dependent link fails, the whole service is disrupted. This affects all sessions, and they must then be reinitiated. The present invention recognizes that there is no automatic way to avoid the failing host or link, since the existing solutions use known addresses that are propagated to the user, who then needs to find a new proxy manually.
Additionally, conventional static proxies are provided by a third party, so the user needs to trust that these proxies do not corrupt or disclose data.
It is therefore desirable to provide for proxy service configuration while avoiding the aforementioned disadvantages.